def vigenereCipher(text, key="loai", decipher=False):
    "range of printable characters is from 32 to 126 inclusive, = 32+ (0 to 94), a total of 95"
    textN = [ord(c) - 32 for c in text]
    keyN = [ord(c) - 32 for c in key]
    sign = 1 if not decipher else -1
    res = [chr((textN[i] + sign * keyN[i % len(keyN)] + 95) % 95 + 32) for i in range(len(textN))]
    return ''.join(res)



